Deploy Table Schema
๐ <ENV> - [BigQuery] Deploy table schemaโ
This GitHub Actions workflow is designed to manually deploy or update BigQuery table schemas based on a JSON schema file. It uses bq CLI commands to apply the schema to both the _latest and _changelog versions of a BigQuery table.
๐ Workflow Triggerโ
This workflow is triggered manually from github actions in functions repo
Required Input:โ
schema_name(string): The base name of the schema (without suffixes like_latestor_changelog).
๐ Environment Variablesโ
| Variable | Description | 
|---|---|
GCP_PROJECT_ID | GCP Project ID (e.g., biddirect-2) | 
๐ Job: update-bigquery-table-schemaโ
| Step | Description | 
|---|---|
| Checkout repository | Clones the repo. | 
| Authenticate with GCP | Authenticates using a service account (ENV_BIGQUERY_ADMIN_SERVICE_ACCOUNT) stored in GitHub Secrets. | 
| Set up Cloud SDK | Installs and sets up the Google Cloud SDK CLI. | 
| Install dependencies | Installs Node.js dependencies from the functions directory. | 
Update _latest schema | Runs bq update to apply the schema to the *_latest table. | 
Update _changelog schema | Runs bq update to apply the schema to the *_changelog table. | 
๐งน Schema File Locationโ
Schema JSON files should be placed under:
functions/src/bqDataLake/definitions/tableSchemas/
Each file should follow the naming convention:
<schema_name>.json
Example:
functions/src/bqDataLake/definitions/tableSchemas/accounts.json
๐ Required Secretsโ
| Secret Name | Description | 
|---|---|
<ENV>_BIGQUERY_ADMIN_SERVICE_ACCOUNT | Service account key JSON for GCP auth. | 
โ Example Usageโ
To run this workflow:
- Go to the Actions tab in your GitHub repository.
 - Select the workflow 
<ENV> - [BigQuery] Deploy table schema. - Enter the 
schema_name(e.g.,accountsoraccounts_serviceUnit). - Click "Run workflow".
 
This will update the following BigQuery tables in bqDataLake:
<schema_name>_latest<schema_name>_changelog
Both tables will be updated with the new schema definition.